<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>

    // 数组 转 Map
    var arr = [1,2,3];
    var obj = {a:1,b:2};
    var div = document.createElement("div");

    // 1. 手动转换
    // 有一个二维数组 二维数组中第一个作为Map的键名 第二个作为Map的键值
    // var list = [["hello","world"],[100,200],[true,false],[null,undefined],[arr,arr],[obj,obj],[div,div]];

    // var m = new Map();
    // list.forEach(item=>{
    //     var key = item[0];
    //     var val = item[1];
    //     m.set(key,val);
    // })
    // console.log(m);

    // 2. 自动转换  new Map() 可以直接接收一个二维数组作为参数
    var list = [["hello","world"],[100,200],[true,false],[null,undefined],[arr,arr],[obj,obj],[div,div]];

    var m = new Map(list);
    console.log(m);


    // Map转数组(二维)
    // 1. 手动转换 
    // var list = [];
    // m.forEach(function(val,key){
    //     var subArr = [key,val];
    //     list.push(subArr);
    // })
    // console.log(list);

    // 2. 自动转换    a. Array.from()  b. ...扩展运算符
    var list = Array.from(m);
    console.log(list);

    var list = [...m];
    console.log(list);







</script>
</html>